import java.util.Date;
import java.text.SimpleDateFormat;
import java.math.*;
import java.sql.Timestamp;



println "unmarshalling native object !!!";

	newValue = content;

			object = null;

			try{
			
			if (childClass != null) {
				fieldType = childClass.getSimpleName();


				
				if (fieldType.equals("boolean")) {
					object = Boolean.valueOf(newValue).booleanValue();
				} else if (fieldType.equals("Boolean")) {
					object = Boolean.valueOf(newValue);
				} else if (fieldType.equals("float")) {
					object = Float.valueOf(newValue).floatValue();
				} else if (fieldType.equals("Float")) {
					args[0] = Float.valueOf(newValue);
				} else if (fieldType.equals("int")) {
					object = Integer.valueOf(newValue).intValue();
				} else if (fieldType.equals("Integer")) {
					object = Integer.valueOf(newValue);
				} else if (fieldType.equals("Double")) {
					object = Double.valueOf(newValue);
				} else if (fieldType.equals("double")) {
					object = Double.valueOf(newValue).doubleValue();
				} else if (fieldType.equals("Short")) {
					object = Short.valueOf(newValue);
				} else if (fieldType.equals("short")) {
					object = Short.valueOf(newValue).shortValue();
				} else if (fieldType.equals("byte")) {
					object = Byte.valueOf(newValue).byteValue();
				} else if (fieldType.equals("Byte")) {
					object = Byte.valueOf(newValue);
				} else if (fieldType.equals("Long")) {
					object = Long.valueOf(newValue);
				} else if (fieldType.equals("long")) {
						object = Long.valueOf(newValue).longValue();
				} else if (fieldType.equals("Character")) {
					object = new Character(newValue.charAt(0));
				} else if (fieldType.equals("char")) {
					object = newValue.charAt(0);
				} else if (fieldType.equals("Date")) {
					SimpleDateFormat parser = new SimpleDateFormat();
					parser.applyPattern("dd-mm-yyyy");
					object = parser.parse(newValue);
				}else if (fieldType.equals("Timestamp")) {
					SimpleDateFormat parser = new SimpleDateFormat();
					parser.applyPattern("dd-mm-yyyy HH:mm:ss.SSS");
					object = new Timestamp(parser.parse(newValue).getTime());
				}else if (fieldType.equals("BigDecimal")) {
					object = new BigDecimal(newValue)
				}else if (fieldType.equals("BigInteger")) {
					object = new BigInteger(newValue)
				}else if (fieldType.equals("String")) {
					object = newValue;
				} else {
					throw new SimpleException("Field of native java type of  " + childClass + " aren't supported yet!");
				}

			} else {
				throw new SimpleException("No child class found !!!");
			}
			
			}catch(Throwable t)
			{
				t.printStackTrace();
				throw new SimpleException("Incorrect data received");
			}